﻿using NUnit.Framework;
namespace ThunkC_.System_
{
    /// <summary>
    /// ObjectFixture
    /// </summary>
    [TestFixture]
    public class ObjectFixture
    {
        [Test]
        public void Constructor_Valid_NotNull()
        {
            var obj = new object();
            Assert.IsNotNull(obj);
        }

        [Test]
        public void Equals_OneObject_EqualsTrue()
        {
            var obj = new object();
            Assert.AreEqual(true, obj.Equals(obj));
        }

        [Test]
        public void Equals2_OneObject_EqualsTrue()
        {
            var obj = new object();
            Assert.AreEqual(true, object.Equals(obj, obj));
        }

        [Test]
        public void GetHashCode_OneObject_NotEqualsZero()
        {
            var obj = new object();
            Assert.AreNotEqual(0, obj.GetHashCode());
        }

        [Test]
        public void GetType_OneObject_SameType()
        {
            var obj = new object();
            Assert.AreSame(obj.GetType(), typeof(object));
        }

        [Test]
        public void ReferenceEquals_OneObject_EqualsTrue()
        {
            var obj = new object();
            Assert.AreEqual(true, object.ReferenceEquals(obj, obj));
        }

    }
}
